<?php

include_once __DIR__ . '/response/response.php';
include_once __DIR__ . '/request/request.php';
include_once __DIR__ . '/db/db.php';
include_once __DIR__ . '/encryption/encryption.php';
include_once __DIR__ . '/curl/curl.php';
include_once __DIR__ . '/app/app.php';
include_once __DIR__.'/sms/sms.php';
include_once __DIR__ . '/util/Util.php';
include_once __DIR__ . '/cache/cache.php';
include_once __DIR__ . '/libs/libs.php';

use common\response;
use common\request;
use common\db;
use common\encryption;
use common\curl;
use common\app;
use common\sms;
use common\cache;
class Cm
{
    /**
     * @var response\Response
     */
    static $res;

    /**
     * @var request\Request
     */
    static $req;

    /**
     * @var db\Db
     */
    static $db;

    /**
     * @var encryption\Encryption
     */
    static $code;

    /**
     * @var curl\Curl
     */
    static $curl;

    /**
     * @var app\App
     */
    static $app;

    /**
     * @var sms\Sms
     */
    static $sms;

    /**
     * @var \cm\util\Util
     */
    static $util;

    static $cache;

    static $libs;

    function __construct()
    {
        self::$req = new request\Request();
        self::$res = new response\Response();
        self::$db = new db\Db();
        self::$code = new encryption\Encryption();
        self::$curl = new curl\Curl();
        self::$app = new app\App();
        self::$sms = new sms\Sms();
        self::$util = new \cm\util\Util();
        self::$cache = new cache\Cache();
        self::$libs = new \common\libs\Libs();
    }
}

new Cm();